import datetime

import jwt
# 密钥
secret_key = "123456789qwer"


class Tools:
    # 使用密钥生成JWT令牌
    @staticmethod
    def generateToken(payload):
        payload["exp"] = datetime.datetime.utcnow() + datetime.timedelta(days=1)
        token = jwt.encode(payload, secret_key, algorithm="HS256")
        return token

    @staticmethod
    def ok():
        return {
            "code": 200,
            "msg": "success",
            "data": {},
        }

    @staticmethod
    def okMsg(msg):
        return {
            "code": 200,
            "msg": msg,
            "data": {},
        }

    @staticmethod
    def okData(data):
        return {
            "code": 200,
            "msg": "success",
            "data": data,
        }

    @staticmethod
    def strToBytes(my_string, desired_length):
        # 将字符串编码为字节数组（默认使用UTF-8编码）
        byte_array = my_string.encode()

        # 计算需要填充的字节数
        padding_length = desired_length - len(byte_array)

        # 填充字节数组（可以选择不同的填充字符，例如空格）
        if padding_length > 0:
            padding = b' ' * padding_length
            byte_array += padding

        # 打印固定长度的字节数组
        return byte_array

    @staticmethod
    def bytesToStr(byte_array):
        # 将字节数组解码为字符串（使用ASCII编码）
        my_string = byte_array.decode()

        # 打印字符串
        print(my_string.strip())
        return my_string.strip()
